<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>MiXiM: SimpleMacLayer Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">MiXiM
   &#160;<span id="projectnumber">2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('a00196.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#pri-methods">Private Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">SimpleMacLayer Class Reference<div class="ingroups"><a class="el" href="a00527.html">AnalogueModels example - Classes from the AnalogueModels example</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="SimpleMacLayer" --><!-- doxytag: inherits="BaseModule" -->
<p>A simple Mac layer implementation which only shows how to create Signals, send them to Phy and receive the from the Phy layer.  
 <a href="a00196.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00236_source.html">SimpleMacLayer.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for SimpleMacLayer:</div>
<div class="dyncontent">
<div class="center"><img src="a01006.png" border="0" usemap="#SimpleMacLayer_inherit__map" alt="Inheritance graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for SimpleMacLayer:</div>
<div class="dyncontent">
<div class="center"><img src="a01007.png" border="0" usemap="#SimpleMacLayer_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a01008.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabc2c824006e58a49f66457ccb508e6d"></a><!-- doxytag: member="SimpleMacLayer::macpkt_ptr_t" ref="aabc2c824006e58a49f66457ccb508e6d" args="" -->
typedef MacPkt *&#160;</td><td class="memItemRight" valign="bottom"><b>macpkt_ptr_t</b></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#a9a23cdc88daa658398f0bc10ac4ed219">initialize</a> (int stage)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Basic initialization for all modules.  <a href="#a9a23cdc88daa658398f0bc10ac4ed219"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a54dbbc7fdd99fc056baab98061420258"></a><!-- doxytag: member="SimpleMacLayer::handleMessage" ref="a54dbbc7fdd99fc056baab98061420258" args="(cMessage *msg)" -->
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>handleMessage</b> (cMessage *msg)</td></tr>
<tr><td colspan="2"><h2><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="a00196.html#abfa6d561f6a78e4067a27434d766225fa4b9a5853e8ca522bc3f0be62c042d894">TEST_MACPKT</a> =  12121
 }</td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a376421d6d86692c47dacaaebfd21ebd7"></a><!-- doxytag: member="SimpleMacLayer::createMapping" ref="a376421d6d86692c47dacaaebfd21ebd7" args="(simtime_t_cref time, simtime_t_cref length, double freqFrom, double freqTo, double value)" -->
<a class="el" href="a00136.html">Mapping</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#a376421d6d86692c47dacaaebfd21ebd7">createMapping</a> (simtime_t_cref time, simtime_t_cref length, double freqFrom, double freqTo, double value)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a <a class="el" href="a00136.html" title="Represents a changeable mapping (mathematical function) from at least time to Argument::mapped_type.">Mapping</a> with the passed value at the passed position in freqency and time. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2a2b646d20cff2c0d82bc565f6fa4ac1"></a><!-- doxytag: member="SimpleMacLayer::handleMacPkt" ref="a2a2b646d20cff2c0d82bc565f6fa4ac1" args="(macpkt_ptr_t pkt)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>handleMacPkt</b> (macpkt_ptr_t pkt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="affce6782f24929b0620d77e43849cd1d"></a><!-- doxytag: member="SimpleMacLayer::handleTXOver" ref="affce6782f24929b0620d77e43849cd1d" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>handleTXOver</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a24a84df3fe2796c6ef724227dd6293bd"></a><!-- doxytag: member="SimpleMacLayer::broadCastPacket" ref="a24a84df3fe2796c6ef724227dd6293bd" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#a24a84df3fe2796c6ef724227dd6293bd">broadCastPacket</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sends the answer packet. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a780c8e3e997a5dcb2d3560d664ae2a66"></a><!-- doxytag: member="SimpleMacLayer::sendDown" ref="a780c8e3e997a5dcb2d3560d664ae2a66" args="(macpkt_ptr_t pkt)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>sendDown</b> (macpkt_ptr_t pkt)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa39c30004cbd08a2a0b0405d818313b0"></a><!-- doxytag: member="SimpleMacLayer::createMacPkt" ref="aa39c30004cbd08a2a0b0405d818313b0" args="(simtime_t_cref length)" -->
macpkt_ptr_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#aa39c30004cbd08a2a0b0405d818313b0">createMacPkt</a> (simtime_t_cref length)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates the answer packet. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a40e1a41bf783a5ca9525dcbfca6d7ace"></a><!-- doxytag: member="SimpleMacLayer::log" ref="a40e1a41bf783a5ca9525dcbfca6d7ace" args="(std::string msg)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>log</b> (std::string msg)</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad7ed88006647e680895f4737464fc639"></a><!-- doxytag: member="SimpleMacLayer::phy" ref="ad7ed88006647e680895f4737464fc639" args="" -->
<a class="el" href="a00134.html">MacToPhyInterface</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#ad7ed88006647e680895f4737464fc639">phy</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Pointer to the phy module of this host. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6bef5234e57995505bed24b48e68f77a"></a><!-- doxytag: member="SimpleMacLayer::dataOut" ref="a6bef5234e57995505bed24b48e68f77a" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#a6bef5234e57995505bed24b48e68f77a">dataOut</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Omnet gates. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aba6cf264f7ce298a44fc553a1de23f0f"></a><!-- doxytag: member="SimpleMacLayer::dataIn" ref="aba6cf264f7ce298a44fc553a1de23f0f" args="" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>dataIn</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f46921b1c45cc87f0ffe1bf442b4e3d"></a><!-- doxytag: member="SimpleMacLayer::myIndex" ref="a1f46921b1c45cc87f0ffe1bf442b4e3d" args="" -->
long&#160;</td><td class="memItemRight" valign="bottom"><b>myIndex</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a67addba2fe8f0c3cccb46662b8d97038"></a><!-- doxytag: member="SimpleMacLayer::nextReceiver" ref="a67addba2fe8f0c3cccb46662b8d97038" args="" -->
long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#a67addba2fe8f0c3cccb46662b8d97038">nextReceiver</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The index of the host the next packet should be send to. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a22ca1a18e1bed2f5875c1cca654a9a88"></a><!-- doxytag: member="SimpleMacLayer::dimensions" ref="a22ca1a18e1bed2f5875c1cca654a9a88" args="" -->
<a class="el" href="a00086.html">DimensionSet</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#a22ca1a18e1bed2f5875c1cca654a9a88">dimensions</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The dimensions for the signal this mac layer works with (frequency and time) <br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2cfd124e320077ba48c03d59b695b646"></a><!-- doxytag: member="SimpleMacLayer::SimpleMacLayer" ref="a2cfd124e320077ba48c03d59b695b646" args="(const SimpleMacLayer &amp;)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#a2cfd124e320077ba48c03d59b695b646">SimpleMacLayer</a> (const <a class="el" href="a00196.html">SimpleMacLayer</a> &amp;)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor is not allowed. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab94865cc9947b44466914291b37a2eac"></a><!-- doxytag: member="SimpleMacLayer::operator=" ref="ab94865cc9947b44466914291b37a2eac" args="(const SimpleMacLayer &amp;)" -->
<a class="el" href="a00196.html">SimpleMacLayer</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00196.html#ab94865cc9947b44466914291b37a2eac">operator=</a> (const <a class="el" href="a00196.html">SimpleMacLayer</a> &amp;)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator is not allowed. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A simple Mac layer implementation which only shows how to create Signals, send them to Phy and receive the from the Phy layer. </p>
<p>This Mac layer just sends an answer packet every time it receives a packet. Since both hosts do that in this simulation, it will only terminate if one packet gets lost (couldn't be received by the phy layer correctly). </p>
</div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="abfa6d561f6a78e4067a27434d766225f"></a><!-- doxytag: member="SimpleMacLayer::@1" ref="abfa6d561f6a78e4067a27434d766225f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="abfa6d561f6a78e4067a27434d766225fa4b9a5853e8ca522bc3f0be62c042d894"></a><!-- doxytag: member="TEST_MACPKT" ref="abfa6d561f6a78e4067a27434d766225fa4b9a5853e8ca522bc3f0be62c042d894" args="" -->TEST_MACPKT</em>&nbsp;</td><td>
<p>Used as Message kind to identify MacPackets. </p>
</td></tr>
</table>
</dd>
</dl>
<div class="fragment"><pre class="fragment">       {
    <a class="code" href="a00196.html#abfa6d561f6a78e4067a27434d766225fa4b9a5853e8ca522bc3f0be62c042d894" title="Used as Message kind to identify MacPackets.">TEST_MACPKT</a> = 12121
  };
</pre></div>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a9a23cdc88daa658398f0bc10ac4ed219"></a><!-- doxytag: member="SimpleMacLayer::initialize" ref="a9a23cdc88daa658398f0bc10ac4ed219" args="(int stage)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void SimpleMacLayer::initialize </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>stage</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Basic initialization for all modules. </p>
<p>Subscription should be in stage==0, and firing notifications in stage==1 or later.</p>
<p>NOTE: You have to call this in the <a class="el" href="a00196.html#a9a23cdc88daa658398f0bc10ac4ed219" title="Basic initialization for all modules.">initialize()</a> function of the inherited class! </p>

<p>Reimplemented from <a class="el" href="a00027.html#a03030e439aaf030c83da6e71e8be2f80">BaseModule</a>.</p>

<p>References <a class="el" href="a00086.html#a397190b81dbfde450e4fe1e47633fb39">DimensionSet::addDimension()</a>, <a class="el" href="a00196.html#a6bef5234e57995505bed24b48e68f77a">dataOut</a>, <a class="el" href="a00196.html#a22ca1a18e1bed2f5875c1cca654a9a88">dimensions</a>, <a class="el" href="a00027.html#aabf0226159b22b46e70031fd3bb3b1b2">BaseModule::findHost()</a>, <a class="el" href="a00085.html#ad4360e7d88c881d06ee61033ad99d66f">Dimension::frequency</a>, <a class="el" href="a00196.html#a67addba2fe8f0c3cccb46662b8d97038">nextReceiver</a>, <a class="el" href="a00196.html#ad7ed88006647e680895f4737464fc639">phy</a>, <a class="el" href="a00141.html#a5d69aacb1cf6a57827f07224219fccb7a2c1aea88fe8363141c138da817461953">MiximRadio::RX</a>, <a class="el" href="a00134.html#ad25abbad9aa16bdbf24bf1dd582b1c6f">MacToPhyInterface::setRadioState()</a>, <a class="el" href="a00085.html#a16cb1f186dd3f48d33a4aebe948001d7">Dimension::time</a>, and <a class="el" href="a00141.html#a5d69aacb1cf6a57827f07224219fccb7a4f6c3dfae0f5fccb76b1d42f6ccc785d">MiximRadio::TX</a>.</p>
<div class="fragment"><pre class="fragment">                                         {
  <a class="code" href="a00196.html#a9a23cdc88daa658398f0bc10ac4ed219" title="Basic initialization for all modules.">BaseModule::initialize</a>(stage);

  <span class="keywordflow">if</span>(stage == 0) {
    myIndex = <a class="code" href="a00027.html#aabf0226159b22b46e70031fd3bb3b1b2" title="Function to get a pointer to the host module.">findHost</a>()-&gt;getIndex();

    <a class="code" href="a00196.html#a22ca1a18e1bed2f5875c1cca654a9a88" title="The dimensions for the signal this mac layer works with (frequency and time)">dimensions</a>.<a class="code" href="a00086.html#a397190b81dbfde450e4fe1e47633fb39" title="Adds the passed dimension to the DimensionSet.">addDimension</a>(<a class="code" href="a00085.html#a16cb1f186dd3f48d33a4aebe948001d7" title="Shortcut to the time Dimension, same as &#39;Dimension(&quot;time&quot;)&#39;, but spares the parsing of a string...">Dimension::time</a>);
    <a class="code" href="a00196.html#a22ca1a18e1bed2f5875c1cca654a9a88" title="The dimensions for the signal this mac layer works with (frequency and time)">dimensions</a>.<a class="code" href="a00086.html#a397190b81dbfde450e4fe1e47633fb39" title="Adds the passed dimension to the DimensionSet.">addDimension</a>(<a class="code" href="a00085.html#ad4360e7d88c881d06ee61033ad99d66f" title="Shortcut to the frequency Dimension, same as &#39;Dimension(&quot;frequency&quot;)&#39;, but spares the parsing of a ...">Dimension::frequency</a>);

    <a class="code" href="a00196.html#a6bef5234e57995505bed24b48e68f77a" title="Omnet gates.">dataOut</a> = findGate(<span class="stringliteral">&quot;lowerLayerOut&quot;</span>);
    dataIn = findGate(<span class="stringliteral">&quot;lowerLayerIn&quot;</span>);

    <a class="code" href="a00196.html#ad7ed88006647e680895f4737464fc639" title="Pointer to the phy module of this host.">phy</a> = <a class="code" href="a00093.html" title="Provides method templates to find omnet modules.">FindModule&lt;MacToPhyInterface*&gt;::findSubModule</a>(this-&gt;getParentModule());

  } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(stage == 1) {
    <span class="keywordflow">if</span>(myIndex == 0){ <span class="comment">//host with index 0 start with sending packets</span>
      log(<span class="stringliteral">&quot;Switching radio to TX...&quot;</span>);
      <a class="code" href="a00196.html#a67addba2fe8f0c3cccb46662b8d97038" title="The index of the host the next packet should be send to.">nextReceiver</a> = 1;
      <a class="code" href="a00196.html#ad7ed88006647e680895f4737464fc639" title="Pointer to the phy module of this host.">phy</a>-&gt;<a class="code" href="a00134.html#ad25abbad9aa16bdbf24bf1dd582b1c6f" title="Tells the BasePhyLayer to switch to the specified radio state.">setRadioState</a>(<a class="code" href="a00141.html#a5d69aacb1cf6a57827f07224219fccb7a4f6c3dfae0f5fccb76b1d42f6ccc785d" title="transmitting state">MiximRadio::TX</a>); <span class="comment">//to be able to send packets it has to switch to TX mode</span>

    }<span class="keywordflow">else</span>{ <span class="comment">//every other host start in receiving mode</span>
      log(<span class="stringliteral">&quot;Switching radio to RX...&quot;</span>);
      <a class="code" href="a00196.html#ad7ed88006647e680895f4737464fc639" title="Pointer to the phy module of this host.">phy</a>-&gt;<a class="code" href="a00134.html#ad25abbad9aa16bdbf24bf1dd582b1c6f" title="Tells the BasePhyLayer to switch to the specified radio state.">setRadioState</a>(<a class="code" href="a00141.html#a5d69aacb1cf6a57827f07224219fccb7a2c1aea88fe8363141c138da817461953" title="receiving state">MiximRadio::RX</a>);
    }
    <span class="comment">//switching the radio can take some time,</span>
    <span class="comment">//we will get a &quot;RADIO_SWITCHING_OVER&quot; message as soon as the radio has switched.</span>
  }
}
</pre></div>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>D:/Projects/MiXiM/extsrc/mixim/examples/analogueModels/<a class="el" href="a00236_source.html">SimpleMacLayer.h</a></li>
<li>D:/Projects/MiXiM/extsrc/mixim/examples/analogueModels/SimpleMacLayer.cc</li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="a00196.html">SimpleMacLayer</a>      </li>

    <li class="footer">Generated on Tue Mar 5 2013 21:26:33 for MiXiM by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
   </ul>
 </div>


</body>
</html>
